package com.plian.system.entity.pf;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;

/**
 * @description: 职工工资发放表_子企业
 * @author: gangan
 * @create: 2020-05-28 16:45
 */
@Data
@TableName("pf_child_grant_salary")
@EqualsAndHashCode(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ChildGrantSalary extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主表id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long baseChildGrantSalaryId;

    /**
     * 子企业id
     */
    private String childCompanyId;

    /**
     * 子企业工资统计类型
     */
    private String childCountCategoryId;

    /**
     * 本月份在岗人数
     */
    @TableField(value = "on_job_number",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal onJobNumber;

    /**
     * 本年累计发放金额
     */
    @TableField(value = "cumulative_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal cumulativeGrantAmount;

    /**
     * 本月份实际发放
     */
    @TableField(value = "actual_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal actualGrantAmount;

    /**
     * 年度预算总额
     */
    @TableField(value = "budget",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal budget;

    /**
     * 工资发放进度%
     */
    @TableField(value = "grant_progress",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal grantProgress;

    /**
     * 上年度平均工资
     */
    @TableField(value = "average_salary",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal averageSalary;

    /**
     * 上年度平均实际人数
     */
    @TableField(value = "actual_people_number",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal actualPeopleNumber;

    /**
     * 至上月累计发放金额
     */
    @TableField(value = "last_cumulative_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal lastCumulativeGrantAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 上年度发放金额
     */
    @TableField(value = "last_year_salary",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal lastYearSalary;

    /**
     * 本月份实际计提数（万元）
     */
    @TableField(value = "actual_provision_this_month",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份实际计提数（万元）")
    private BigDecimal actualProvisionThisMonth;

    /**
     * 至上月累计计提
     */
    @TableField(value = "actual_provision_to_last_month",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal actualProvisionToLastMonth;

    /**
     * 本年累计实际计提数（万元）
     */
    @TableField(value = "cumulative_provision_this_year",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年累计实际计提数（万元）")
    private BigDecimal cumulativeProvisionThisYear;

    /**
     * 上年度实际计提数（万元)
     */
    @TableField(value = "actual_provision_last_year",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年度实际计提数（万元)")
    private BigDecimal actualProvisionLastYear;
}
